Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Precision Time Protocol</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Precision_Time_Protocol"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Precision_Time_Protocol rootpage-Precision_Time_Protocol skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Precision Time Protocol</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p>Le <b><span class="lang-en" lang="en"><i>Precision Time Protocol</i></span></b> (<b>PTP</b>) est un <a href="Protocole_de_communication" title="Protocole de communication">protocole</a> utilisé pour <a href="Synchronisation_d'horloges" title="Synchronisation d'horloges">synchroniser</a> les <a href="Signal_d'horloge" title="Signal d'horloge">signaux d'horloge</a> des différents éléments d'un <a href="R%C3%A9seau_de_t%C3%A9l%C3%A9communications" title="Réseau de télécommunications">réseau</a>, par exemple un réseau <a href="Ethernet" title="Ethernet">Ethernet</a>. Il a été normalisé par l'<a href="Internet_Engineering_Task_Force" title="Internet Engineering Task Force">Internet Engineering Task Force</a> sous le nom d'<b>IEEE-1588</b> en 2002 et a été modifié en <time class="nowrap" datetime="2008-06" data-sort-value="2008-06">juin 2008</time> (version 2) et en novembre 2019 (version 3)<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>. La <a href="Commission_%C3%A9lectrotechnique_internationale" title="Commission électrotechnique internationale">Commission électrotechnique internationale</a> lui donne le nom d'<b>IEC 61588</b>.
</p><p>Le PTP n'a pas vocation à déterminer un <a href="Horodatage" title="Horodatage">horodatage</a>, mais à le transmettre. Tout système PTP doit donc intégrer ou se baser sur une source de temps, par exemple une horloge <a href="Global_Positioning_System" title="Global Positioning System">GPS</a>, et s'y recaler régulièrement. La synchronisation est obtenue avec une précision typiquement inférieure à la <a href="Seconde_(temps)" title="Seconde (temps)">microseconde</a>, la limite théorique étant d'une nanoseconde<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>.
</p><p>Il a été développé afin de fournir une alternative au protocole <span class="lang-en" lang="en"><i><a href="Network_Time_Protocol" title="Network Time Protocol">Network Time Protocol</a></i></span> (NTP) et au transfert d'informations temporelles par satellite (par exemple par <span class="lang-en" lang="en"><i><a href="Global_Positioning_System" title="Global Positioning System">Global Positioning System</a></i></span> (GPS)). Le protocole NTP n'est pas assez précis pour de nombreuses applications. Quant au GPS, il est difficile à mettre en place sur un réseau, chaque élément de réseau devant être équipé d'un <a href="R%C3%A9cepteur_GPS" title="Récepteur GPS">récepteur</a> ayant accès à des signaux de bonne qualité.
</p>

<div class="mw-heading mw-heading2"><h2 id="Principe_et_définitions"><span id="Principe_et_d.C3.A9finitions"></span>Principe et définitions</h2></div>
<p>Le PTP est un système hiérarchique <a href="Ma%C3%AEtre-esclave" title="Maître-esclave">maître-esclave</a>, où l'<a href="Horodatage" title="Horodatage">horodatage</a> (en anglais <span class="lang-en" lang="en"><i>timestamp</i></span>) est distribué successivement d'<a href="Horloge_m%C3%A8re" title="Horloge mère">horloge maître</a> à horloge esclave. L'horloge maître au sommet de la hiérarchie, servant de référence temporelle à toutes les autres, est appelée «&nbsp;horloge de référence&nbsp;» ou <span class="lang-en" lang="en"><i>grandmaster</i></span>. Son heure est synchronisée à une source la plus précise possible, par exemple sur l'<a href="Temps_universel_coordonn%C3%A9" title="Temps universel coordonné">UTC</a> via une <a href="Synchronisation_GPS" title="Synchronisation GPS">synchronisation GPS</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Messages">Messages</h3></div>
<p>Le PTP envoie des messages de différents types&nbsp;:
</p>
<ul><li><i>Sync</i>, <i>Follow_Up</i>, <i>Delay_Req</i> et <i>Delay_Resp</i> sont utilisés pour communiquer l'information temporelle nécessaire pour synchroniser les horloges.</li>
<li><i>Pdelay_Req</i>, <i>Pdelay_Resp</i> et <i>Pdelay_Resp_Follow_Up</i> ont été définis à partir de la version 2 du protocole pour prendre en compte les mécanismes de correction de délai.</li>
<li><i>Announce</i>, <i>Management</i> et <i>Signaling</i> (à partir de la version 2) sont utilisés pour construire la hiérarchie et contrôler le réseau.</li></ul>
<p>Les messages transitent typiquement sur la couche <a href="User_Datagram_Protocol" title="User Datagram Protocol">UDP</a> (<a href="Port_(logiciel)" title="Port (logiciel)">ports</a> 319 et 320) portée par <a href="IPv4" title="IPv4">IPv4</a> ou <a href="IPv6" title="IPv6">IPv6</a>. Il est également possible de les transmettre directement sur la couche Ethernet <a href="IEEE_802.3" title="IEEE 802.3">IEEE 802.3</a> (avec l'<a href="EtherType" title="EtherType">EtherType</a> 0x88F7). Le réseau doit être capable de gérer le <a href="Multicast" title="Multicast">multicast</a> et l'<a href="Unicast" title="Unicast">unicast</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Horloges">Horloges</h3></div>
<p>Plusieurs types d'horloges sont définies par le protocole&nbsp;:
</p>
<ul><li>Une <span class="lang-en" lang="en"><i>Ordinary Clock</i></span> est une horloge qui peut être maître ou esclave. Cette horloge peut devenir la <span class="lang-en" lang="en"><i>Grandmaster Clock</i></span> si elle est l'horloge maître au sommet de la hiérarchie. On détermine qui est la meilleure horloge susceptible d'être grandmaster grâce à un algorithme appelé <span class="lang-en" lang="en"><i>Best master clock algorithm</i></span>.</li></ul>
<ul><li>Une <span class="lang-en" lang="en"><i>Boundary Clock</i></span> est une horloge connectée à plusieurs <a href="Segment_de_r%C3%A9seau" title="Segment de réseau">segments de réseau</a> et qui permet de les synchroniser entre eux.</li></ul>
<ul><li>Une <span class="lang-en" lang="en"><i>Transparent Clock</i></span> (à partir de la version 2 du protocole) permet de corriger des délais de propagation du message à travers l'élément de réseau et ainsi d'avoir une meilleure précision dans l'horodatage.</li></ul>
<p>Enfin, il peut exister sur le réseau des équipements qui ne prennent pas en compte le PTP.
</p>
<div class="mw-heading mw-heading2"><h2 id="Mécanismes_de_correction"><span id="M.C3.A9canismes_de_correction"></span>Mécanismes de correction</h2></div>

<p>Dans sa version basique, le PTP échange des messages entre horloges de la façon suivante&nbsp;:
</p>
<ol><li>L'horloge maître envoie un message <i>Sync</i> à l'horloge esclave et note le temps <span class="texhtml">t<sub>1</sub></span> où il a été envoyé.</li>
<li>L'horloge esclave reçoit le message <i>Sync</i> et note le temps de réception <span class="texhtml">t<sub>2</sub></span>.</li>
<li>L'horloge maître envoie l'horodatage <span class="texhtml">t<sub>1</sub></span>,
<ul><li>Soit en incluant <span class="texhtml">t<sub>1</sub></span> dans le message <i>Sync</i>, auquel cas le matériel utilisé doit avoir une bonne précision et un traitement rapide du message. Cette solution est le mode <span class="lang-en" lang="en"><i>1-step</i></span>.</li>
<li>Soit en incluant <span class="texhtml">t<sub>1</sub></span> dans le message <i>Follow_Up</i>. Cette solution est le mode <span class="lang-en" lang="en"><i>2-step</i></span>.</li></ul></li>
<li>L'horloge esclave envoie un message <i>Delay_Req</i> à l'horloge maître et note le temps <span class="texhtml">t<sub>3</sub></span> où il a été envoyé.</li>
<li>L'horloge maître reçoit le message <i>Delay_Req</i> et note le temps de réception <span class="texhtml">t<sub>4</sub></span>.</li>
<li>L'horloge maître envoie l'horodatage <span class="texhtml">t<sub>4</sub></span> en l'incluant dans le message <i>Delay_Resp.</i></li></ol>
<p>Cet échange recommence après un intervalle de temps de l'ordre qui peut varier de la fraction de seconde à plusieurs secondes.
</p><p>À la fin de l'échange, l'horloge esclave possède les quatre horodatages. Ils peuvent être alors utilisés pour connaître&nbsp;:
</p>
<ul><li>le délai moyen de propagation du signal entre les deux horloges, <span class="texhtml"><i>d</i> =<span class="texhtml"><span style="display:inline-block; vertical-align:-0.5em; font-size:85%; text-align:center;"><span style="display:block; line-height:1em; margin:0 0.1em;">(t<sub>2</sub> - t<sub>1</sub>) + (t<sub>4</sub> - t<sub>3</sub>)</span><span style="position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden">/</span><span style="display:block; line-height:1em; margin:0 0.1em; border-top:1px solid;">2</span></span></span></span>.</li>
<li>Le décalage temporel (offset) de l'horloge esclave par rapport à l'horloge maître <span class="texhtml"><i>Off</i> =<span class="texhtml"><span style="display:inline-block; vertical-align:-0.5em; font-size:85%; text-align:center;"><span style="display:block; line-height:1em; margin:0 0.1em;">(t<sub>2</sub> - t<sub>1</sub>) - (t<sub>4</sub> - t<sub>3</sub>)</span><span style="position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden">/</span><span style="display:block; line-height:1em; margin:0 0.1em; border-top:1px solid;">2</span></span></span></span>.</li></ul>
<p>On suppose que le temps de l'échange est suffisamment court pour que le décalage soit considéré comme constant sur cette période. On suppose aussi qu'il n'y a pas de différence de temps de propagation selon la direction de l'échange (on parle dans le cas contraire d'asymétrie). Enfin, on suppose que les horloges sont capables d'horodater précisément leur messages. Dans ce dernier cas, on établit des classes d'horloges selon leur précision.
</p><p>Délai moyen et décalage sont ensuite pris en compte par l'horloge esclave qui ajuste l'horodatage et transmet ainsi la bonne information temporelle à la prochaine horloge.
</p>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2020"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<cite style="font-style:normal" lang="en">IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</cite>&nbsp;», <i><span class="lang-en" lang="en">IEEE Std 1588-2019 (Revision of IEEE Std 1588-2008)</span></i>,‎ <time class="nowrap" datetime="2020-06" data-sort-value="2020-06">juin 2020</time>, <abbr class="abbr" title="pages">p.</abbr>&nbsp;<span class="nowrap">1–499</span> <small style="line-height:1em;">(<a href="Digital_Object_Identifier" title="Digital Object Identifier">DOI</a>&nbsp;<span class=" noarchive nowrap"><a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/IEEESTD.2020.9120376">10.1109/IEEESTD.2020.9120376</a></span>, <a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/document/9120376">lire en ligne</a>, consulté le <time class="nowrap" datetime="2023-01-04" data-sort-value="2023-01-04">4 janvier 2023</time>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=IEEE+Standard+for+a+Precision+Clock+Synchronization+Protocol+for+Networked+Measurement+and+Control+Systems&amp;rft.jtitle=IEEE+Std+1588-2019+%28Revision+of+IEEE+Std+1588-2008%29&amp;rft.date=2020-06&amp;rft.pages=1%E2%80%93499&amp;rft_id=info%3Adoi%2F10.1109%2FIEEESTD.2020.9120376&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APrecision+Time+Protocol"></span></span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Hardoin2006"><span class="ouvrage" id="Pierre_Hardoin2006">Pierre Hardoin, «&nbsp;<cite style="font-style:normal">Des "Big Ben" pour le protocole IEEE 1588</cite>&nbsp;», <i><a href="Mesures" title="Mesures">Mesures</a></i>, <abbr class="abbr" title="numéro">n<sup>o</sup></abbr>&nbsp;784,‎ <time class="nowrap" datetime="2006-04" data-sort-value="2006-04">avril 2006</time>, <abbr class="abbr" title="pages">p.</abbr>&nbsp;<span class="nowrap">24-27</span> <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="https://www.yumpu.com/fr/document/read/28780369/des-abig-bena-pour-le-protocole-ieee-1588-mesures">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=Des+%22Big+Ben%22+pour+le+protocole+IEEE+1588&amp;rft.jtitle=Mesures&amp;rft.issue=784&amp;rft.aulast=Hardoin&amp;rft.aufirst=Pierre&amp;rft.date=2006-04&amp;rft.pages=24-27&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APrecision+Time+Protocol"></span></span></span></span>
</li>
</ol></div>
</div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="Temps_r%C3%A9el" class="mw-disambig" title="Temps réel">Temps réel</a></li>
<li><a href="IRIG_Timecode" title="IRIG Timecode">IRIG Timecode</a></li>
<li><a href="Bus_TTP" title="Bus TTP">Bus TTP</a></li>
<li><a href="Network_Time_Protocol" title="Network Time Protocol">Network Time Protocol</a></li>
<li><a href="Serial_Real-Time_Communications_System" title="Serial Real-Time Communications System">Serial Real-Time Communications System</a></li>
<li><a href="Synchronous_Ethernet" title="Synchronous Ethernet">Synchronous Ethernet</a></li>
<li><a href="Time-Sensitive_Networking" title="Time-Sensitive Networking">Time-Sensitive Networking</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://www.nist.gov/el/intelligent-systems-division-73500/ieee-1588">site du NIST</a></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://www.oscilloquartz.com/index.php?pageid=17#18">Note d'application sur PTP</a></li></ul>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de l’informatique</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des télécommunications</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail du temps</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-07-22" href="https://fr.wikipedia.org/wiki/?title=Precision_Time_Protocol&amp;oldid=227484492">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>